This specification relates managing application program interface calls for script execution in, for example, an advertising management environment.
The Internet enables access to a wide variety of content items, e.g., video and/or audio files, web pages for particular subjects, news articles, etc. Such access to these content items likewise enables opportunities for targeted advertising. For example, advertisements can be provided with search results in response to a search query provided by a user; provided for web pages of third party online publishers that have content related to the advertisement; or provided in response to a specific request from a user, such as when a user requests information for particular products or services.
An advertising management system can be used to facilitate the value exchange between advertisers and publishers. Advertisers provide advertisements, specify targeting criteria for ad campaigns, and offer bids for the opportunities to have their advertisements presented on publishers' webpages. Online advertisers use advertising management tools to manage their advertising campaigns. These management tools include an account interface that allows an advertiser to create and define various aspects of advertising campaigns and ad groups, such as keywords, targeting criteria, budgets, bids for ad placement, duration, different types of advertisements, and so on. After the advertiser has specified the campaign and ad group data and activated the advertising campaigns and/or ad groups, advertisements can be dynamically selected and served on publishers' webpages according to the various keywords and other targeting criteria specified by the advertiser.
Once an advertising campaign is launched, and advertiser uses the advertising management tools to monitor the performance of the advertising campaign. One system allows the use of scripts to manage an advertising campaign. Depending on the performance of the advertising campaign, execution of the script results in changes to targeting, bids, budgets, advertisements, etc., of the advertising campaign. However, the advertising campaign may have thousands of bids, tens of thousands of targeting criteria, and various other associated data. In the situation in which a script execution engine is implemented in a manner in which the script execution engine must communicate with the advertisement management system though one or more APIs, requests for data and changes to data may result in tens of thousands of data elements being requested and modified for a script execution in an API call. This can result in multiple API calls between the respective systems, and some API calls may be prone to failure due to the sheer size of the data set(s) underlying the call.